package com.fjwt.gz.db.dto;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

/**
 * <p>
 * 活动参与条件表(普通用户--消费者)
 * </p>
 *
 * @author shiyonghao
 * @since 2025-04-09
 */
@Data
public class ActivityLimitUserDTO {

    /**
     * 主键
     */
    private Long activityLimitUserId;

    /**
     * 营销活动id
     */
    private Long activityId;

    /**
     * 同一用户可参与总次数（0代表不限制）
     */
    private Integer onlyOneTimes;

    /**
     * 同一用户周期性次数限制参与(0不限制， 1限每日，2限每周，3限每月)
     */
    private Integer periodType;

    /**
     * 同一用户周期性限制次数（period_type != 0时有效）
     */
    private Integer periodTimes;

    /**
     * 特殊参与限制(0不限制， 1每周几可以参与，2特殊日期可以参与)
     */
    private Integer specialType;

    /**
     * 特殊参与限制，多选，以逗号进行分隔(special_type!= 0时有效; special_type=1时，为数字1~5；special_type=2时，为具体日期)
     */
    private String specialContent;

    /**
     * 参与时间段限制（0不限制 1限制）
     */
    private Integer timeType;

    /**
     * 参与时间段限制，每天开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date timeStart;

    /**
     * 参与时间段限制，每天结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date timeEnd;

    /**
     * 参与门槛限制（0不限制，1限制）
     */
    private Integer thresholdType;

    /**
     * 参与门槛限制,前多少次免费
     */
    private Integer thresholdFreeTimes;

    /**
     * 参与门槛限制,后续需消耗多少积分可参与
     */
    private Integer thresholdJoinScore;

    /**
     * 参与活动，用户是否需要关注公众号（0：否 1：是）
     */
    private Integer isFollowOfficial;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdAt;


}
